iT邦幫忙

2024 iThome 鐵人賽

DAY 27
0
DevOps

時間序列資料庫探討 - Prometheus系列 第 27

Prometheus - PromQL 的資料檢索

  • 分享至 

  • xImage
  •  

上篇提要

PromQL 引擎會將 PromQL 語句解析成一個抽象語法樹(AST)。再結合 storage 執行。

PromQL 引擎讀取資料的流程

由於 Prometheus 的資料都是分時間區段,所以第一步就是找到 /query_range 所關心的時間區段資料。(可能抱括多個時間區段檔案)
找到檔案後,PromQL 引擎就會載入需要的時間序列集。

PromQL 引擎的運算流程

PromQL 引擎運算時會遍歷語法樹,當走到需要時序資料的節點時,就會去 storage 中取得資料。storage 會先透過 index,找到所有對應的時間序列,給出 SeriesSet 型態。SeriesSet 包函 Series 介面。Series 可以從指定的時間區段中,給出各樣本值的迭代器。迭代器的實作方式即是載入時間序列檔後,找到對應的時間序列,並從頭解壓縮。


上一篇
Prometheus - /query_range 如何觸發 PromQL 執行
下一篇
Prometheus - PromQL 的計算流程
系列文
時間序列資料庫探討 - Prometheus30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言